1. Technical Field
The present invention generally relates to data processing systems and in particular to debugging using virtualized data processing systems.
2. Description of the Related Art
A virtual machine (VM) is a logical implementation of a physical machine, such as a data processing system, or a computer system. As such, a VM is capable of executing computer programs and computer readable code in the same way a physical computer system would execute the code and may use resources provided by the physical machine as the resources are made available to the VM. Said another way, the VM provides abstractions of physical resources that are made available to computer programs executing on the VM. A physical machine, such as a computer system, may include a single VM, or may include several VMs. The software layer providing the VM is called a hypervisor.
One method for implementing VMs includes using a mirrored VM environment. In a mirrored VM environment, two identical VMs exist, including identical abstractions of available physical resources. Mirrored virtual machines may reside on a single host, or on separate hosts. The mirrored VM environment allows a computer code that has encountered a hardware error on one virtual machine, to be executed on a second virtual machine.